package com.blueocean_health.care.management.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.blueocean_health.care.management.domain.base.UserAccount;
import com.blueocean_health.care.management.domain.dto.UserAccountDto;
import com.blueocean_health.care.management.domain.dto.UserListDto;
import com.blueocean_health.care.management.domain.dto.UserManagerListDto;
import com.blueocean_health.care.management.domain.vo.UserListDvo;
import com.blueocean_health.care.management.util.MyMapper;

/**
 * 用户管理模块  2018年7月12日14:11:49
 * @author wuyanli
 *
 */
@Repository
public interface UserCompanyMapper extends MyMapper<UserAccount> {
	
	/**
	 * 除当前用户外，用户名数量
	 * @param userId
	 * @param userName
	 * @return
	 */
	int getUserSizeByUserName(@Param("userId")String userId,@Param("userName")String userName);
	
	/**
	 * 修改启用禁用状态  2018年7月19日15:43:09
	 * @param userId
	 * @param enableStatus
	 * @return
	 */
	int updateEnableStatus(@Param("userId")String userId,@Param("enableStatus")String enableStatus);
	
	/**
	 * 根据筛选条件查询 用户列表  2018年7月16日16:19:40
	 * @param userDvo
	 * @return
	 */
	List<UserListDto> getUserCompanyList(UserListDvo userDvo);
	
	/**
	 * 新增用户
	 * @param user
	 * @return
	 */
	int addUser(UserAccount user);
	
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	int updateUser(UserAccount user);
	/**
	 * 负责人下拉列表 只有组织的用户  2018年7月12日15:06:27
	 * @param firstOrg
	 * @return
	 */
	List<UserManagerListDto> getUserList(Map<String,String> map);
	
	/**
	 * 根据用户名查询用户信息  2018年7月14日11:17:35
	 * @param userName
	 * @return
	 */
	UserAccountDto getUserByUserNameOrId(@Param("userName")String userName,@Param("userId")String userId);
	
}